#ifndef CUSTOMER_H
#define CUSTOMER_H

#include <string>
#include <iostream>

using namespace std;

enum PTYPE {CHECK, CASH, CARD};
enum LTYPE {EC, EL, RC, RL};

class customer
{
	private:
		string fName;
		string lName;
		int    arrive;
		int    depart;
		int    items;

		bool   contest;
		int    contestDepart;
		int    contestArrive;
		
    		bool   deli;
		int    deliArrive;
		int    deliDepart;
		
		int    doneShopping;

		PTYPE  payType;
		LTYPE  lineType;
		int    lineArrive;
		int    lineDepart;
		
	
	public:
		customer();
		customer(const customer&);

                void   operator=(const customer&);

		void   setLName(string);
		string getLName();
		void   setFName(string);
		string getFName();
		string getName();
		void   setArrive(int);
		int    getArrive();
		void   setDepart(int);
		int    getDepart();
		void   setItems(int);
		int    getItems();
		
		void   setContest(bool);
		bool   getContest();
		void   setCArrive(int);
		int    getCArrive();
		void   setCDepart(int);
		int    getCDepart();
		
		void   setDeli(bool);
		bool   getDeli();
		void   setDArrive(int);
		int    getDArrive();
		void   setDDepart(int);
		int    getDDepart();
		
		void   setDShopping(int);
		int    getDShopping();	

		void   setPType(PTYPE);
		PTYPE  getPType();
		void   setLType(LTYPE);
		LTYPE  getLType();
		void   setLArrive(int);
		int    getLArrive();
		void   setLDepart(int);
		int    getLDepart();
		
                friend bool operator==(const customer&, const customer&);
		friend bool compare_names(const customer&, const customer&);
		friend bool compare_doneShopping(const customer&, const customer&);
		friend class customerGen;
		friend class marketSim;
};

#include "customer.cpp"

#endif
